<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <title>Document</title>
    <style>
       
        tbody{
            background-color: rgb(212, 204, 204);
            td{
                padding: 10px;
               width: 120px;
            }
        }
        thead tr{
            background-color: red;
            text-align: center;
            td{
                padding: 10px;
               width: 120px;
            }
        }
       
    </style>
<!-- </head>全选反选 -->
<body>
    <table border="">
        <thead>
            <tr >
                <td><input type="checkbox" name="" id="evrey"></td>
                <td>商品</td>
                <td>价钱</td>
    
            </tr>
        </thead>
        <tbody id="check">
            <tr>
                <td><input type="checkbox" name="" ></td>
                <td>iphone13</td>
                <td>8000</td>
            </tr>
            <tr>
                <td><input type="checkbox" name="" ></td>
                <td>iphone13</td>
                <td>8000</td>
            </tr>
            <tr>
                <td><input type="checkbox" name="" ></td>
                <td>iphone13</td>
                <td>8000</td>
            </tr>
            <tr>
                <td><input type="checkbox" name="" ></td>
                <td>iphone13</td>
                <td>8000</td>
            </tr>
        </tbody>
      
    </table>
    <button id="fx" onclick="Fx()">反选</button>
    <script>     
    $(function(){
// 1. 代码首先使用jQuery选择器获取了全选复选框和所有子复选框的引用：

var $a = $('#evrey'); // 获取全选复选框
    var $b = $('tbody input'); // 获取所有子复选框
  
    
    // 2. 给全选复选框注册了点击事件，当全选复选框被点击时，将会选中或取消所有子复选框：

    $a.click(function() {
        // 当全选复选框被点击时，设置所有子复选框的选中状态与全选复选框一致
        for (var i = 0; i < $b.length; i++) {
            $b[i].checked = this.checked;
        }
    });

   
    
    // 3. 给每个子复选框注册了点击事件，当任何一个子复选框被点击时，检查是否所有子复选框都被选中，如果是则选中全选复选框，否则取消选中全选复选框：


    for (var i = 0; i < $b.length; i++) {
            $b[i].click(function() {
                // 检查是否所有子复选框都被选中
                var allChecked = true;
                for (var i = 0; i < $b.length; i++) {
                    if (!$b[i].checked) {
                        allChecked = false;
                        break;
                    }
                }
                // 设置全选复选框的选中状态
                $a.prop('checked', allChecked);
            });
        }
       
   
    
    // 4. 最后定义了一个名为`Fx`的函数，用于切换所有子复选框的选中状态（全选变全不选，全不选变全选）：
   
    $('#fx').click(function(){
            for (var i = 0; i < $b.length; i++) {
                $b[i].checked =!$b[i].checked;
            }
        })
    })


    
    
    </script>
</body>
</html>